import * as types from '../actionTypes/todos';

// 删除todo
export const delTodo = (id) => ({
  type: types.DEL_TODO,
  payload: id,
});

// 切换任务完成状态
export const toggleTodo = (id) => ({
  type: types.TOGGLE_TODO,
  payload: id,
});

// 添加 todo
// export const addTodo = (text) => ({
//   type: types.ADD_TODO,
//   payload: text,
// });

export const addTodo = (text) => {
  return (dispatch, getState) => {
    // 发起网络请求
    console.log('发起网络请求');
    const res = text;
    // 模拟发送网络请求
    setTimeout(() => {
      dispatch({
        type: types.ADD_TODO,
        payload: res,
      });
    }, 2000);
  };
};

// export const addTodoAsync = (text) => {
//   // 调用 axiso
//   // 返回 todo
//   dispatch({
//     type: types.ADD_TODO,
//     payload: text,
//   })
// }

// 全选/反选
export const toggleAll = (checked) => ({
  type: types.TOGGLE_ALL,
  payload: checked,
});

// 清除已完成
export const clearDone = () => ({
  type: types.CLEAR_DONE,
});

// 更新todo
export const updateTodo = (id, text) => ({
  type: types.UPDATE_TODO,
  payload: {
    id,
    text,
  },
});
